home *** CD-ROM | disk | FTP | other *** search
/ Multimedia Madness 2 #12 / Multimedia Madness - Volume 2 - Issue 12 (SAMS Publishing) (November 25, 1992).iso / nemo / zincdemo / zincdemo.dat (.txt) < prev    next >
Zinc Data  |  1992-08-30  |  87KB  |  576 lines

  1. Zinc Data File Version 3.0
  2. UIW_WINDOW
  3. UI_BITMAP
  4. UI_ICON+
  5. UI_HPP,
  6. UI_HELP
  7. hardDrive
  8. softDrive
  9. networkDrive
  10. string    
  11. fmtstr
  12. number
  13. button
  14. radio
  15. check
  16. hlist
  17. APPLICATION#
  18. ASTERISK$
  19. EXCLAMATION%
  20. HAND&
  21. QUESTION'
  22. minIcon(
  23. desk)
  24. analog*
  25. wdesign
  26. vlist
  27. combo
  28. hscroll
  29. vscroll
  30. window
  31. toolbar
  32. prompt
  33. group
  34. parentDirectory
  35. childDirectory
  36. popitem
  37. popmenu
  38. pllitem 
  39. pllmenu!
  40.                     
  41.                                     
  42.                                     
  43.                     
  44.                                                                                                                     
  45.                                                                                                                     
  46.                                                                                                                     
  47. HELP_CONTEXTS
  48. HELP_ORDER_INFORMATION/
  49. HELP_GENERAL0
  50. HELP_STRING1
  51. HELP_FORMATTED_STRING2
  52. HELP_TEXT3
  53. HELP_DATE4
  54. HELP_TIME5
  55. HELP_BIGNUM6
  56. HELP_BUTTON7
  57. HELP_RADIO_BUTTON8
  58. Order Information Help...l
  59. For more information or to order in the United States or outside of Europe, please call or write:
  60. Zinc Software Incorporated
  61. 405 South 100 East 2nd Floor
  62. Pleasant Grove, Utah 84062 USA
  63. Tel: (801) 785-8900
  64. Fax: (801) 785]
  65. const UI_HELP_CONTEXT HELP_ORDER_INFORMATION           = 0x0001; // Order Information Help...S
  66. const UI_HELP_CONTEXT HELP_GENERAL                     = 0x0002; // General Help...R
  67. const UI_HELP_CONTEXT HELP_STRING                      = 0x0003; // String-8996
  68. BBS: (801) 785-8997
  69. DOS (Text and Graphics): $199.95 US
  70. DOS with Source: $299.95 US
  71. DOS and Windows: $399.95 US
  72. DOS and Windows with Source: $499.95 US
  73. For more information or to order in Europe, please call or write:
  74. Zinc Software (UK) Limited
  75. 58-60 Beresford Street
  76. London, SE18 6BG United Kingdom
  77. Tel: +44 (0)81 855 9918
  78. Fax: +44 (0)81 316 7778
  79. BBS: +44 (0)81 317 2310
  80. DOS (Text and Graphics): 124.95 Pounds UK
  81. DOS with Source: 174.95 Pounds UK
  82. DOS and Windows: 249.95 Pounds UK
  83. DOS and Windows with Source: 299.95 Pounds UK
  84. Prices are subject to change without notice.
  85. Press <Alt+F4> to continue...
  86. General Help...
  87. Welcome to this demonstration of Zinc Interface Library 3.0.  The new features and optimizations of Zinc 3.0 allow it to compete directly with Windows-only or DOS-only tools, with the distinct advantage of single source code support for both environments.
  88. This demonstartion program was created with Zinc Interface Library 3.0.  Both the Windows and DOS versions were compiled from the same source code (ZINCDEMO.CPP).  Both versions also share the same platform-independent resource file (ZINCDEMO.DAT).  This file was interactively created with Zinc Designer (included with the product).  ZINC3GFX.EXE shows improved performance in DOS Graphics mode using a 3rd party graphics library (GFX from C Source, Inc.)
  89. You may invoke the demo by typing the following:
  90. "WIN ZINCWIN" for Microsoft Windows 3.X
  91. "ZINCDOS" for DOS Graphics Mode,
  92. "ZINCDOS /T" for DOS Text Mode, or
  93. "ZINC3GFX" for DOS Graphics (using GFX)
  94. To evaluate Zinc 3.0 window objects, select the desired object from the menu, tool bar, or list box.  Information on the current object will appear in the window in the lower right hand corner of the screen.  Press <F1> to see additional information on the object including a sample constructor, if appropriate.  (Most Zinc objects have more than one constructor.)  You can interact with most the window objects to see how they function (e.g., enter new input information, scroll lists, minimize windows).  We encourage you to evaluate this demonstration program in Windows, DOS Graphics and DOS Text modes.
  95. You may freely copy and distribute this demonstration program as long as it is distributed with all original files and copyright information.
  96. COPYRIGHT (C) 1992 Zinc Software Incorporated.  All Rights Reserved.
  97. Press <Alt+F4
  98. String Help...
  99. STRING is used to enter, modify and display single-line alphanumeric string information.  Five string flags determine how the string is formatted and edited, including: no formatting, upper-case, lower-case, password and variable name (wh Help...\
  100. const UI_HELP_CONTEXT HELP_FORMATTED_STRING            = 0x0004; // Formatted String Help...P
  101. const UI_HELP_CONTEXT HELP_TEXT                        = 0x0005; // Text Help...P
  102. const UI_HELP_CONTEXT HELP_DATE                        = 0x0006; // Daere spaces are converted to the underscore character).
  103. Zinc strings allow you to perform edit functions such as mark, cut, copy and paste both within the string itself and among any other edit object (e.g., number, text, date).
  104. You may associate a user function or validation routine by adding the name of the function to the argument list of the constructor (shown below).  User functions receive messages from Zinc and can be executed when STRING is selected, becomes current and/or becomes non-current.
  105. Constructor => UIW_STRING(left, top, width, text, maximum length, string flags, window flags, user function)
  106. Press <Alt+F4> to continue...
  107. Formatted String Help...*
  108. FORMATTED STRING is used to enter, modify and display alphanumeric information in a pre-defined format that you specify (e.g., phone number, serial number, part number).
  109. FORMATTED STRING allows you to perform edit functions such as mark, cut, copy and paste both within the formatted string itself and among any other edit object (e.g., number, text, date).
  110. You may associate a user function or validation routine by adding the name of the function to the argument list of the constructor (shown below).  User functions receive messages from Zinc and can be executed when FORMATTED STRING is selected, becomes current and/or becomes non-current.
  111. Constructor => UIW_FORMATTED_STRING(left, top, width, text, edit mask, literal mask, window flags, user function)
  112. Press <Alt+F4> to continue...
  113. Text Help...q
  114. TEXT is used to enter, modify and display multiple-line text information.  It features mark, cut, copy, paste, optional word wrap, home, end, page-up, page-down, word-left, word-right, etc.
  115. You may associate a user function or validation routine by adding the name of the function to the argument list of the constructor (shown below).  User functions receive messages from Zinc and can be executed when TEXT is selected, becomes current and/or becomes non-current.
  116. Constructor => UIW_TEXT(left, top, width, height, text, maximum length, text flags, window flags, user function)
  117. Press <Alt+F4> to continue...
  118. Date Help...y
  119. DATE is used to enter, display and modify country-independent date information.  15 date specific flags determine appropriate display formatting, including: U.S., European, Japanese, military, short (day, month, year), slash, zero fill, uppte Help...P
  120. const UI_HELP_CONTEXT HELP_TIME                        = 0x0007; // Time Help...R
  121. const UI_HELP_CONTEXT HELP_BIGNUM                      = 0x0008; // Number Help...R
  122. const UI_HELP_CONTEXT HELP_BUTTON                      = 0x0009; // Button Heler case and lower case.
  123. DATE examines the country information provided by the operating system to display the appropriate format.  For example, the date 12/25/92 will display as 25/12/92 if a European country code is detected.
  124. You may associate a user function or validation routine by adding the name of the function to the argument list of the constructor (shown below).  User functions receive messages from Zinc and can be executed when DATE is selected, becomes current and/or becomes non-current.
  125. Constructor => UIW_DATE(left, top, width, date, range, date flags, window flags, user function)
  126. Press <Alt+F4> to continue...
  127. Time Help...o
  128. TIME is used to enter, modify and display country-independent time information.  13 time specific flags determine the appropriate display formatting, including: colon separator, zero fill, hours, minutes, seconds, 12 Hour, 24 Hour, upper case and lower case.
  129. TIME examines the country information provided by the operating system to display the appropriate format.  For example, the time 3:25pm will display as 15:25 if a European country code is detected.
  130. You may associate a user function or validation routine by adding the name of the function to the argument list of the constructor (shown below).  User functions receive messages from Zinc and can be executed when TIME is selected, becomes current and/or becomes non-current.
  131. Constructor => UIW_TIME(left, top, width, time, range, time flags, window flags, user function)
  132. Press <Alt+F4> to continue...
  133. Number Help...9
  134. BIGNUM is used to enter, modify and display country-independent numeric information.  BIGNUM has a default maximum value of 30 digits to the left and 8 digits to the right of the decimal.  Six number flags determine how the number is displayed, including: currency, credit ( ), commas, decimal (0 to 8 places) and percent.
  135. BIGNUM examines the country information provided by the operating system to display the appropriate format.  For example, $100.00 (US) will display as DM100.00 if the German country code is detected.
  136. NOTE: Zinc 3.0 also provides INTEGER and REAL objects for more specific numeric processing.
  137. You may associate a user function or validation routine by adding the name of the function to the argument list of the constructor (shown below).  User functions receive messages from Zinc and can be executed when BIGNUM, REAL or INTEGER is selected, becomes current and/or becomes non-current.
  138. Constructor => UIW_BIGNUM(left, top, width, number, list of valid ranges, number flags, window flags, user function)
  139. Press <Alt+F4> to continue...
  140. Button Help...
  141. BUTTON is a selectable field used to perform run-time operations. You may attach a bitmap to customize the button.
  142. You may associate a user function or validation routine by adding the name of the function to the argument list of the p...X
  143. const UI_HELP_CONTEXT HELP_RADIO_BUTTON                = 0x000A; // Radio Button Help...U
  144. const UI_HELP_CONTEXT HELP_CHECK_BOX                   = 0x000B; // Check Box Help...[
  145. const UI_HELP_CONTEXT HELP_HLIST                       = 0x000C; // Horizconstructor (shown below).
  146. User functions receive messages from Zinc and can be executed when BUTTON is selected, becomes current and/or becomes non-current.
  147. BUTTON is also used to create Radio Buttons, Buttons with associated bitmaps, and Check Boxes by simply passing a status flag (button flag) in the constructor argument list.
  148. Constructor => UIW_BUTTON(left, top, width, button text, button flags, window flags,  user function, programmer assigned value, bitmap name associated with button)
  149. Press <Alt+F4> to continue...
  150. Radio Button Help...
  151. RADIO BUTTON is a button control that allows only one item in a group to be selected.  RADIO BUTTON is a button with the BTF_RADIO_BUTTON button flag used in the argument list.
  152. You may associate a user function or validation routine by adding the name of the function to the argument list of the constructor (shown below).  User functions receive messages from Zinc and can be executed when RADIO BUTTON is selected, becomes current and/or becomes non-current.
  153. Constructor => UIW_BUTTON(left, top, width, button text, BTF_RADIO_BUTTON, window flags, user function, programmer assigned value, bitmap name)
  154. Press <Alt+F4> to continue...
  155. HELP_CHECK_BOX9
  156. HELP_HLIST:
  157. HELP_VLIST;
  158. HELP_COMBO_BOX<
  159. HELP_SCROLL_BAR=
  160. HELP_WINDOW>
  161. HELP_PULL_DOWN_MENU?
  162. HELP_PULL_DOWN_ITEM@
  163. HELP_POP_UP_MENUA
  164. HELP_POP_UP_MENU_ITEMB
  165. Check Box Help...
  166. CHECK BOX is a button control that allows multiple items in a group to be selected.
  167. CHECK BOX is a button with a the BTF_CHECK_BOX button flag used in the argument list.
  168. You may associate a user function or validation routine by adding the name of the function to the argument list of the constructor (shown below).  User functions receive messages from Zinc and can be executed when CHECK BOX is selected, becomes current and/or becomes non-current.
  169. Constructor => UIW_BUTTON(left, top, width, button text, BTF_CHECK_BOX, window flags, user Function, programmer assigned value, bitmap name)
  170. Press <Alt+F4> to continue...
  171. Horizontal List Help...
  172. HORIZONTAL LIST is used to enter, modify and display related information in row and column format.  You can add a scroll bar to horizontally scroll the list.  A wide variety of window objects can be placed in HORIZONTAL LIST inclontal List Help...Y
  173. const UI_HELP_CONTEXT HELP_VLIST                       = 0x000D; // Vertical List Help...U
  174. const UI_HELP_CONTEXT HELP_COMBO_BOX                   = 0x000E; // Combo-Box Help...V
  175. const UI_HELP_CONTEXT HELP_SCROLL_BAR                  = 0uding input fields, icons and buttons.
  176. A compare function may be added in the argument list to sort list elements.
  177. Constructor => UIW_HZ_LIST(left, top, width, height, compare function, elements, list flags, window flags, advanced flags)
  178. Press <Alt+F4> to continue...
  179. Vertical List Help...
  180. VERTICAL LIST is used to enter, modify and display related information in a vertical list format.  You can add a scroll bar to vertically scroll the list.  A wide variety of window objects can be placed in VERTICAL LIST including: input fields, icons and buttons.
  181. A compare function may be added in the argument list to sort list elements.
  182. Constructor => UIW_VT_LIST(left, top, width, height, compare function, elements, list flags, window flags, advanced flags)
  183. Press <Alt+F4> to continue...
  184. Combo-Box Help...^
  185. COMBO BOX is a combination input field and vertical list.  COMBO BOX can contain input fields, icons and buttons.
  186. A compare function may be added in the argument list to sort list elements.
  187. Constructor => UIW_COMBO_BOX(left, top, width, height, compare function, list flags, window flags, advanced flags)  
  188. Press <Alt+F4> to continue...
  189. Scroll-Bar Help...
  190. SCROLL BAR is a selectable region used to scroll the displayed portion of a window, list box or text input field.
  191. Constructor => UIW_SCROLL_BAR(left, top, width, height, HORIZONTAL OR VERTICAL, window flags)
  192. Press <Alt+F4> to x000F; // Scroll-Bar Help...R
  193. const UI_HELP_CONTEXT HELP_WINDOW                      = 0x0010; // Window Help...Z
  194. const UI_HELP_CONTEXT HELP_PULL_DOWN_MENU              = 0x0011; // Pull-down Menu Help..._
  195. const UI_HELP_CONTEXT HELP_PULL_DOWN_ITEM         continue...
  196. Window Help...+
  197. WINDOW is a rectangular region of the display used as the controlling structure for window objects.  Zinc supports parent, child, MDI, modal and dialog windows.
  198. Constructor => UIW_WINDOW(left, top, width, height, window flags, advanced flags, help context)
  199. Press <Alt+F4> to continue...
  200. Pull-down Menu Help...
  201. PULL DOWN MENU is used to organize and control pull-down menu items (PULL DOWN ITEMS).
  202. Constructor => UIW_PULL_DOWN_MENU(indentation, item)
  203. Press <Alt+F4> to continue...
  204. Pull-down Menu Item Help...
  205. PULL DOWN ITEM is used as the first-level selection within a menu system.
  206. You may associate a user function or validation routine by adding the name of the function to the argument list of the constructor (shown below).       = 0x0012; // Pull-down Menu Item Help...W
  207. const UI_HELP_CONTEXT HELP_POP_UP_MENU                 = 0x0013; // Pop-up Menu Help...\
  208. const UI_HELP_CONTEXT HELP_POP_UP_MENU_ITEM            = 0x0014; // Pop-up Menu Item Help...T
  209. const UI_HELP_CONTEXT HELPUser functions receive messages from Zinc and can be executed when PULL DOWN MENU ITEM is selected, becomes current and/or becomes non-current.
  210. Constructor => UIW_PULL_DOWN_ITEM(text, menu flags, user function, programmer assigned value)
  211. Press <Alt+F4> to continue...
  212. Pop-up Menu Help...
  213. POP UP MENU is used to organize and control pop-up menu items. POP UP MENUS are also used for cascading menus.
  214. Constructor => UIW_POP_UP_MENU(left, top, menu flags, item)
  215. Press <Alt+F4> to continue...
  216. Pop-up Menu Item Help...
  217. POP UP MENU ITEM is used to select a specific action from a pop-up menu.
  218. You may associate a user function or validation routine by adding the name of the function to the argument list of the constructor (shown below).  User functions receive messages from Zinc and can be executed when POP UP MENU ITEM is selected, becomes current and/or becomes non-current.
  219. Constructor => UIW_POP_UP_ITEM(text, menu flags, user function, programmer assigned value)
  220. Press <Alt+F4> to continue...
  221. HELP_TOOL_BARC
  222. HELP_PROMPTD
  223. HELP_GROUPE
  224. HELP_ICONF
  225. HELP_KEYBOARDG
  226. HELP_MOUSEH
  227. HELP_WINDOW_MANAGERI
  228. HELP_EVENT_MANAGERJ
  229. HELP_SCREEN_DISPLAYK
  230. HELP_HELP_SYSTEML
  231. HELP_ERROR_SYSTE
  232. Tool-Bar Help..._
  233. TOOL BAR is a menu control used to group buttons, icons, and input fields.  A tool bar can be static or wrapped when re-sizing the window.  It can be independent of or used in conjunction with PULL DOWN MENU.
  234. Constructor => UIW_TOOL_TOOL_BAR                    = 0x0015; // Tool-Bar Help...R
  235. const UI_HELP_CONTEXT HELP_PROMPT                      = 0x0016; // Prompt Help...Q
  236. const UI_HELP_CONTEXT HELP_GROUP                       = 0x0017; // Group Help...P
  237. const UI_HELP_CONTEXT HELP_IC_BAR(left, top, width, height, tool bar flags, window flags, advanced flags)
  238. Press <Alt+F4> to continue...
  239. Prompt Help...
  240. PROMPT is a static control that is used to provide the user with information regarding input fields and program activity.
  241. Constructor => UIW_PROMPT(left, top, text)
  242. Press <Alt+F4> to continue...
  243. Group Help...
  244. GROUP is a static control that is used to group radio buttons and check boxes.
  245. Constructor => UIW_GROUP(left, top, width, height, text, group flags, window flags)
  246. Press <Alt+F4> to continue...
  247. Icon Help...
  248. ICON is a static control used to present information, usually associated with a button, in bitmapped form.
  249. Constructor => UIW_ICON(left, top, icon name, title, icon flags, window flags, user function)
  250. Press <Alt+F4> to continue...
  251. ON                        = 0x0018; // Icon Help...T
  252. const UI_HELP_CONTEXT HELP_KEYBOARD                    = 0x0019; // Keyboard Help...Q
  253. const UI_HELP_CONTEXT HELP_MOUSE                       = 0x001A; // Mouse Help...Z
  254. const UI_HELP_CONTEXT HELP_WINDOW_ 
  255. Keyboard Help...
  256. KEYBOARD is used to collect information from the keyboard.  It is attached to a list that is maintained by the Event Manager (see Event Manager).  The KEYBOARD feeds information to the Event Queue when polled by the Event Manager.
  257. The KEYBOARD is attached to the Event Manager at run-time using the Add member function or the overloaded '+' operator:
  258. // Initialize the event manager and attach the keyboard, mouse and cursor devices.
  259.      UI_EVENT_MANAGER *eventManager =
  260.      new UI_EVENT_MANAGER(display);
  261.      *eventManager
  262.           + new UID_KEYBOARD
  263.           + new UID_MOUSE
  264.           + new UID_CURSOR;
  265. Press <Alt+F4> to continue...
  266. Mouse Help...
  267. MOUSE is used to collect information from a mouse input device. It is attached to a list which is maintained by Zinc's Event Manager (see Event Manager).  The MOUSE feeds input information directly to the Event Queue.
  268. The MOUSE is attached to the Event Manager at run-time using the Add member function or the overloaded '+' operator:
  269. // Initialize the event manager and attach the keyboard, mouse and cursor devices.
  270.      UI_EVENT_MANAGER *eventManager =
  271.      new UI_EVENT_MANAGER(display);
  272.      *eventManager
  273.           + new UID_KEYBOARD
  274.           + new UID_MOUSE
  275.           + new UID_CURSOR;
  276. Press <Alt+F4> to continue...
  277. Window Manager Help...1
  278. Zinc's Window Manager maintains a list of window objects and controls their positioning and their state (e.g., current, non-current).
  279. Event information (whether received from a polled or interrupt driven device) is placed in aMANAGER              = 0x001B; // Window Manager Help...Y
  280. const UI_HELP_CONTEXT HELP_EVENT_MANAGER               = 0x001C; // Event Manager Help...Z
  281. const UI_HELP_CONTEXT HELP_SCREEN_DISPLAY              = 0x001D; // Screen Display Help...W
  282. const UI_HELP_Cn event queue and is dispatched to the Window Manager via the application's event loop.  The Window Manager forwards event information to the current window object. The window object processes the event or passes it to its parent object (if one exists).  This continues until the event is either successfully processed or is discarded.
  283. The sample code below demonstrates how the WINDOW MANAGER is initialized and how window objects (in this case a window with its contents was created in Zinc Designer) are added to the new window:
  284. // Initialize the window manager.
  285.      UI_WINDOW_MANAGER *windowManager =
  286.      new UI_WINDOW_MANAGER(display, eventManager);
  287. // Read in persistent object resource created in Zinc Designer.
  288.      *windowManager
  289.           + new UIW_WINDOW("FILENAME~WINDOW1");
  290. Press <Alt+F4> to continue...
  291. Event Manager Help...
  292. The backbone of Zinc Interface Library 3.0 is its event-driven architecture.  This architecture exploits the power of object-orientation to insulate you from the complexities of the operating environment without restricting your access to environment specific features, like the Microsoft Windows messages or the raw scan codes from the keyboard.
  293. Events are received and processed in a Zinc application with Zinc's Event Manager, Window Manager and Event Mapping.  The Event Manager maintains a list of run-time devices.  Devices included with the library are the keyboard, mouse, and cursor. You can create additional devices, such as pen-based input or serial communications, by deriving a new device from the UI_DEVICE base class.
  294. All events are stored in the event queue in their raw state.  Raw event information when running under DOS is the keyboard scan code or mouse state.  Under Microsoft Windows, it is the MS Windows message.
  295. Zinc lets you avoid dealing with raw event information (e.g., F1 key, left mouse click, WM_PAINT message), by logically mapping events at the object level (e.g., L_HELP, L_BEGIN_MARK, S_DISPLAY_ACTIVE).  Raw input is mapped to the appropriate logical event for the current object.  For example, the left mouse click is mapped to L_BEGIN_SELECT if the current object is the window object, and L_BEGIN_MARK if the current object is the text object.  This unique feature of Zinc Interface Library permits you to work with event information in a device and object independent fashion and doesn't require you to know specific information about the device that generated the event or the object that receives the event.
  296. Zinc's powerful Event Mapping technology brings you the benefit of adding new devices, such as pen-based input, to existing applications with minimal effort and impact on your code.
  297. The following code demonstrates how the EVENT MANAGER is initialized and how input devices are attached using the overloaded '+' operator:
  298. // Initialize the event manager and attach input devices.
  299.      UI_EVENT_MANAGER *eventManager =
  300.      new UI_EVENT_MANAGER(display);
  301.      *eventManager
  302.           + new UID_KEYBOARD
  303.           + new UID_MOUSE
  304.           + new UID_CURSOR;
  305. Press <Alt+F4> to continue...
  306. Screen Display Help...
  307. Zinc's display classes abstract hardware-specific display standards, including: Monochrome, Hercules, CGA, EGA, VGA, Super VGA and Microsoft Windows 3.X.  DOS Graphics display classes support Borland, Microsoft and Zortech graphics libraries.
  308. Display classes for third-party graphics libraries can dramatically improve the performance of the DOS Graphics mode. Sample display classes for Genus and MetaGraphics graphics libraries are available on Zinc's BBS and can be downloaded free of charge.
  309. You can create a display class for your own graphics library by deriving from the UI_DISPLAY base class.  You can also create a single executable program that supports both DOS Graphics and DOS Text.
  310.      UI_MSWINDOWS_DISPLAY: Microsoft Windows Display
  311.      UI_BGI_DISPLAY: Borland Graphics Display
  312.      UI_FG_DISPLAY: Zortech Flash Graphics Display
  313.      UI_MSC_DISPLAY: Microsoft Graphics Display
  314.      UI_TEXT_DISPLAY: DOS Text Mode Display
  315. The following code demonstrates how a Zinc DISPLAY CLASS is initialized:
  316. // Initialize MS Windows 3.X display class
  317.       UI_DISPLAY *display =
  318.       new UI_MSWINDOWS_DISPLAY(instance, hPrevInstance, nCmdShow);
  319. // Initialize DOS display, trying for graphics first.
  320.      UI_DISPLAY *display = new UI_BGI_DISPLAY;
  321.      if (!display->installed)
  322.      {
  323.           delete display;
  324.           display = new UI_TEXT_DISPLAY;
  325.      }
  326. Press <Alt+F4> to continue...
  327. Help System Help...
  328. Zinc provides a help system to allow you to create context sensitive help screens for your users.  HELP SYSTEM is derived from the UI_HELP_SYSTEM class.  You may also derive your own help system from this class.
  329. The following codONTEXT HELP_HELP_SYSTEM                 = 0x001E; // Help System Help...X
  330. const UI_HELP_CONTEXT HELP_ERROR_SYSTEM                = 0x001F; // Error System Help...Y
  331. const UI_HELP_CONTEXT HELP_ZINC_DESIGNER               = 0x0020; // Zinc Designer Help...^
  332. ce demonstrates how a Zinc HELP SYSTEM is initialized:
  333. UI_WINDOW_OBJECT::helpSystem =
  334.   new UI_HELP_WINDOW_SYSTEM("SAMPLE.DAT", windowManager);
  335. Press <Alt+F4> to continue...
  336. HELP_ZINC_DESIGNERN
  337. HELP_PERSISTENT_OBJECTSO
  338. HELP_CLASS_HIERARCHYP
  339. INFO_GENERALQ
  340. INFO_STRINGR
  341. INFO_FORMATTED_STRINGS
  342. INFO_TEXTT
  343. INFO_DATEU
  344. INFO_TIMEV
  345. INFO_BIGNUMW
  346. Error System Help...
  347. Zinc provides an error system to allow you to generate error messages for your users.  The ERROR SYSTEM is derived from the UI_ERROR_SYSTEM class.  You may also derive your own error system from this class.
  348. The following code demonstrates how a Zinc ERROR SYSTEM is initialized:
  349. UI_WINDOW_OBJECT::errorSystem = new UI_ERROR_WINDOW_SYSTEM;
  350. Press <Alt+F4> to continue...
  351. Zinc Designer Help...
  352. Zinc 3.0 offers the tightest integration available between an interactive design tool and the supporting class library.  Most Windows developers use a resource tool to help create their program interface.  Resource tools are language and library independent by design and therefore cannot access all the features of a given class library.  This results in a fragmented approach to application development with isolated user functions and non-specific documentation.  You are saddled with the not-so-obvious details of integrating your code with both the class library and the resources you create with the resource tool.  The seamless integration of Zinc Designer and Zinc 3.0 contrasts sharply with this a la carte approach.
  353. Zinc Designer lets you interactively create your application screens using Zinc objects.  You use a mouse to select windows and window objects from the menu or tool bar and place them on the screen.  You can easily customize objects with Zinc Designer's interactive editors.  For example, create input fields for formatted information such as a part number or phone number. Just double click on the formatted-string object to open the editor.  Now you can enter formatting codes, modify the string identifier, attach context-sensitive help and attach a user function.  User functions are attached to input objects, controls and menus via their respective editors.  (User procedures can be executed when the field is made current, non-current and/or selected.)
  354. After creating your screens you save them to disk in a platform-independent persistent object file with a .DAT extension.  You add these resources to your application with one line of code.  You can also load resources you create with the Windows version of Zinc Designer into the DOS version and vice versa.
  355. Zinc Designer's complete access to the Zinc class library, straightforward integration of your code and platform-independent, persistent object storage can dramatically enhance your productivity.  With Zinc you can focus your efforts on building great applications instead of wasting time trying to integrate your interface tools.
  356. Press <Alt+F4> to continue...
  357. Persistent Objects Help...V
  358. The PERSISTENT OBJECT technology in Zinc 3.0 dramatically improves your productivity by allowing you to store windows and window objects in a platform-independent data file.  Objects that you create and store in one environmenonst UI_HELP_CONTEXT HELP_PERSISTENT_OBJECTS          = 0x0021; // Persistent Objects Help...[
  359. const UI_HELP_CONTEXT HELP_CLASS_HIERARCHY             = 0x0022; // Class Hierarchy Help...S
  360. const UI_HELP_CONTEXT INFO_GENERAL                     = 0x0023; // t can be retrieved at run-time into any other environment that Zinc supports.
  361. Press <Alt+F4> to continue...
  362. Class Hierarchy Help...
  363.     ZINC INTERFACE LIBRARY CLASS HIERARCHY
  364. class UI_DISPLAY
  365.       - *class UI_BGI_DISPLAY
  366.       - *class UI_FG_DISPLAY
  367.       - *class UI_TEXT_DISPLAY
  368.       - *class UI_MSC_DISPLAY
  369.       -  class UI_MSWINDOWS_DISPLAY
  370. class UI_ELEMENT
  371.       - class UI_DEVICE
  372.             - class UID_CURSOR
  373.             - class UID_KEYBOARD
  374.             - class UID_MOUSE
  375.       - class UI_PATH_ELEMENT
  376.       - class UI_QUEUE_ELEMENT
  377.       - class UI_REGION_ELEMENT
  378.       - class UI_WINDOW_OBJECT
  379.             - class UIW_BORDER
  380.             - class UIW_BUTTON
  381.             - class UIW_MAXIMIZE_BUTTON
  382.             - class UIW_MINIMIZE_BUTTON
  383.             - class UIW_POP_UP_ITEM
  384.             - class UIW_PULL_DOWN_ITEM
  385.             - class UIW_SYSTEM_BUTTON
  386.             - class UIW_TITLE
  387.       - class UIW_ICON
  388.       - class UIW_PROMPT
  389.       - class UIW_STRING
  390.             - class UIW_BIGNUM
  391.             - class UIW_DATE
  392.             - class UIW_FORMATTED_STRING
  393.             - class UIW_INTEGER
  394.             - class UIW_REAL
  395.             - class UIW_TIME
  396.       - *class UIW_WINDOW
  397.             - class UI_WINDOW_MANAGER
  398.             - class UIW_COMBO_BOX
  399.             - class UIW_GROUP
  400.             - class UIW_HZ_LIST
  401.             - class UIW_POP_UP_MENU
  402.             - class UIW_PULL_DOWN_MENU
  403.             - class UIW_SCROLL_BAR
  404.             - class UIW_TEXT
  405.             - class UIW_TOOL_BAR
  406.             - class UIW_VT_LIST
  407. class UI_ERROR_SYSTEM
  408. class UI_HELP_SYSTEM
  409. class UI_INTERNATIONAL
  410.       - class UI_BIGNUM
  411.       - class UI_DATE
  412.       - class UI_TIME
  413. class UI_LIST
  414.       - class UI_EVENT_MANAGER
  415.       - class UI_LIST_BLOCK
  416.             - class UI_QUEUE_BLOCK
  417.       - class UI_PATH
  418.       - class UI_REGION_LIST
  419.             - *class UI_BGI_DISPLAY
  420.             - *class UI_FG_DISPLAY
  421.             - *class UI_TEXT_DISPLAY
  422.             - *class UI_MSC_DISPLAY
  423.       - *class UIW_WINDOW
  424. class UI_STORAGE
  425. class UI_STORAGE_OBJECT
  426. struct UI_EVENT
  427. struct UI_EVENT_MAP
  428. struct UI_ITEM
  429. struct UI_KEY
  430. struct UI_PALETTE
  431. struct UI_PALETTE_MAP
  432. struct UI_POSITION
  433. struct UI_REGION
  434. struct UI_SCROLL_INFORMATION
  435. * indicates multiple inheritance
  436. (UI = user interface base class)
  437. (UID = user interface device)
  438. (UIW = user interface window)
  439. Press <Alt+F4> to continue...
  440. General Help...=
  441. Zinc Interface Library 3.0
  442. Demonstration Program
  443. Press <F1> for General Help information
  444. You may freely copy and distribute this demonstration program as long as it is distributed with all original files and copyright informatioGeneral Help...R
  445. const UI_HELP_CONTEXT INFO_STRING                      = 0x0024; // String Help...\
  446. const UI_HELP_CONTEXT INFO_FORMATTED_STRING            = 0x0025; // Formatted String Help...P
  447. const UI_HELP_CONTEXT INFO_TEXT                        = 0x00n.
  448. COPYRIGHT (C) 1992 Zinc Software Incorporated.  All Rights Reserved.
  449. String Help...
  450. STRING is used to enter, modify and display single-line alphanumeric string information.  String flags determine formatting of the string including: no formatting, upper-case, lower-case, password  and variable name (where spaces are converted to the underscore character).
  451. NOTE: With the Password flag set, STRING accepts input characters but only displays a generic character (*) to the screen.
  452. Formatted String Help...
  453. FORMATTED STRING is used to enter, modify and display alphanumeric information in a pre-defined format that you specify, such as phone number, serial number or part number.
  454. Text Help...
  455. TEXT is used to enter, modify and display multiple-line text information.  It features mark, cut, copy, paste, word wrap, home, end, page-up, page-down, word-left, word-right, etc.
  456. 26; // Text Help...P
  457. const UI_HELP_CONTEXT INFO_DATE                        = 0x0027; // Date Help...P
  458. const UI_HELP_CONTEXT INFO_TIME                        = 0x0028; // Time Help...R
  459. const UI_HELP_CONTEXT INFO_BIGNUM                      = 0x0029; // Num
  460. Date Help...
  461. DATE is used to enter, display and modify country-independent date information.  15 date specific flags determine appropriate display formatting, including: U.S., European, Japanese, military, short (day, month, year), slash, zero fill, upper case and lower case.
  462. Time Help...
  463. TIME is used to enter, modify and display time information.  13 time specific flags determine the appropriate display formatting, including: colon separator, zero fill, hours, minutes, seconds, 12 Hour, 24 Hour, upper case and lower case.
  464. Number Help...2
  465. BIGNUM is used to enter, modify and display numeric information. BIGNUM has a default maximum value of 30 digits to the left and 8 digits to the right of the decimal.  Six number flags determine how the number is displayed, including: curber Help...R
  466. const UI_HELP_CONTEXT INFO_BUTTON                      = 0x002A; // Button Help...X
  467. const UI_HELP_CONTEXT INFO_RADIO_BUTTON                = 0x002B; // Radio Button Help...U
  468. const UI_HELP_CONTEXT INFO_CHECK_BOX                   = 0x002C; // Crency, credit ( ), commas, decimal (0 to 8 places) and percent.
  469. FO_BUTTONX
  470. INFO_RADIO_BUTTONY
  471. INFO_CHECK_BOXZ
  472. INFO_HLIST[
  473. INFO_VLIST\
  474. INFO_COMBO_BOX]
  475. INFO_SCROLL_BAR^
  476. INFO_WINDOW_
  477. INFO_PULL_DOWN_MENU`
  478. INFO_POP_UP_MENUa
  479. INFO_POP_UP_MENU_ITEM
  480. Button Help...w
  481. BUTTON is a selectable field used to perform run-time operations. You may attach a bitmap to customize the button.
  482. Radio Button Help...
  483. RADIO BUTTON is a button control that allows only one item in a group to be selected.  RADIO BUTTON is a button with the BTF_RADIO_BUTTON button flag set in the argument list.
  484. Check Box Help...
  485. CHECK BOX is a button control that allows multiple items in a group to be selected.  CHECK BOX is a button with the BTF_CHECK_BOX button flag set in the argument list.
  486. heck Box Help...[
  487. const UI_HELP_CONTEXT INFO_HLIST                       = 0x002D; // Horizontal List Help...Y
  488. const UI_HELP_CONTEXT INFO_VLIST                       = 0x002E; // Vertical List Help...U
  489. const UI_HELP_CONTEXT INFO_COMBO_BOX                  
  490. Horizontal List Help...
  491. HORIZONTAL LIST is used to enter, modify and display related information in row and column format.  You can add a scroll bar to horizontally scroll the list.  A wide variety of window objects can be placed in HORIZONTAL LIST, including input fields, icons and controls.
  492. Vertical List Help...
  493. VERTICAL LIST is used to enter, modify and display related information in a vertical list format.  You can add a scroll bar to vertically scroll the list.  A wide variety of window objects can be placed in VERTICAL LIST, including: input fields, icons and controls.
  494. Combo-Box Help...v
  495. COMBO BOX is a combination input field and vertical list.  COMBO BOX can contain input fields, icons and buttons.
  496.  = 0x002F; // Combo-Box Help...V
  497. const UI_HELP_CONTEXT INFO_SCROLL_BAR                  = 0x0030; // Scroll-Bar Help...R
  498. const UI_HELP_CONTEXT INFO_WINDOW                      = 0x0031; // Window Help...Z
  499. const UI_HELP_CONTEXT INFO_PULL_DOWN_MENU          
  500. Scroll-Bar Help...v
  501. SCROLL BAR is a selectable region used to scroll the displayed portion of a window, list box or text input field.
  502. Window Help...
  503. WINDOW is a rectangular region of the display used as the controlling structure for window objects.  Zinc supports parent, child, MDI and dialog windows.
  504. Pull-down Menu Help...
  505. NOTE: MS Windows does not allow a pull-down menu in a child window.  However, this feature IS demonstrated in the DOS version.
  506. PULL DOWN MENU is used to organize and control pull-down menu items (PULL DOWN ITEMS).
  507.     = 0x0032; // Pull-down Menu Help...W
  508. const UI_HELP_CONTEXT INFO_POP_UP_MENU                 = 0x0033; // Pop-up Menu Help...\
  509. const UI_HELP_CONTEXT INFO_POP_UP_MENU_ITEM            = 0x0034; // Pop-up Menu Item Help...T
  510. const UI_HELP_CONTEXT INFO_TOOL_'
  511. Pop-up Menu Help...
  512. NOTE: MS Windows does not allow a pull-down menu in a child window.  However, PULL DOWN MENU with a cascading POP UP MENU is demonstrated in the DOS version.
  513. POP UP MENU is used to organize and control pop-up menu items. POP UP MENUS are used for cascading menus.
  514. Pop-up Menu Item Help...M
  515. POP UP MENU ITEM is used to select a specific action from a pop-up menu.
  516. INFO_TOOL_BARc
  517. INFO_PROMPTd
  518. INFO_GROUPe
  519. INFO_ICONf
  520. INFO_KEYBOARDg
  521. INFO_MOUSEh
  522. INFO_WINDOW_MANAGERi
  523. INFO_EVENT_MANAGERj
  524. INFO_SCREEN_DISPLAYk
  525. INFO_HELP_SYSTEMl
  526. INFO_ERR
  527. Tool-Bar Help...
  528. TOOL BAR is a menu control used to group buttons, icons, and input fields.  A tool bar can be static or wrapped when re-sizing the window.  It can be independent of or used in conjunction with PULL DOWN MENU.
  529. BAR                    = 0x0035; // Tool-Bar Help...R
  530. const UI_HELP_CONTEXT INFO_PROMPT                      = 0x0036; // Prompt Help...Q
  531. const UI_HELP_CONTEXT INFO_GROUP                       = 0x0037; // Group Help...P
  532. const UI_HELP_CONTEXT INFO_ICON    
  533. Prompt Help...~
  534. PROMPT is a static control that is used to provide the user with information regarding input fields and program activity.
  535. Group Help...S
  536. GROUP is a static control that is used to group radio buttons and check boxes.
  537. Icon Help...
  538. ICON is a static control used to present information, usually associated with a button, in bitmapped form.  Icons may be used to select a user-defined action.
  539.                     = 0x0038; // Icon Help...T
  540. const UI_HELP_CONTEXT INFO_KEYBOARD                    = 0x0039; // Keyboard Help...Q
  541. const UI_HELP_CONTEXT INFO_MOUSE                       = 0x003A; // Mouse Help...Z
  542. const UI_HELP_CONTEXT INFO_WINDOW_MANAGE
  543. Keyboard Help...
  544. KEYBOARD is used to collect raw scan code information from the keyboard.  It is attached to a list that is maintained by the Event Manager (see Event Manager).  The KEYBOARD feeds information to the Event Queue when polled by the Event Manager.
  545. Mouse Help...
  546. MOUSE is used to collect raw scan code information from a mouse input device.  It is attached to a list which is maintained by Zinc's Event Manager (see Event Manager).  The MOUSE feeds input information directly to the Event Queue.
  547. Window Manager Help...
  548. Zinc's WINDOW MANAGER maintains a list of window objects and controls their positioning and their state (e.g., current, non-current).  The WINDOW MANAGER forwards event information to the current window object.
  549. R              = 0x003B; // Window Manager Help...Y
  550. const UI_HELP_CONTEXT INFO_EVENT_MANAGER               = 0x003C; // Event Manager Help...Z
  551. const UI_HELP_CONTEXT INFO_SCREEN_DISPLAY              = 0x003D; // Screen Display Help...W
  552. const UI_HELP_CONTEXT
  553. Event Manager Help...
  554. Events are received and processed in a Zinc application with Zinc's Event Manager, Window Manager and Event Mapping.  The Event Manager maintains a list of run-time devices such as the keyboard, mouse, and cursor.  Programmer defined devices may also be added to the Event Manager.
  555. Screen Display Help...[
  556. Zinc's display classes abstract hardware-specific display standards, including: Monochrome, Hercules, CGA, EGA, VGA, Super VGA and Microsoft Windows 3.X.  DOS Graphics display classes support Borland, Microsoft and Zortech graphics libraries.
  557. Display classes for third-party graphics libraries can significantly improve the performance of the DOS Graphics mode. Sample display classes for Genus and MetaGraphics graphics libraries are available on Zinc's BBS and can be downloaded free of charge.
  558. You can also create a single executable program that supports both DOS Graphics and DOS Text.
  559. Help System Help...
  560. Zinc provides a help system to allow you to create context sensitive help screens for your users.  HELP SYSTEM is derived from the UI_HELP_SYSTEM class.  You may also derive your own help system from this class.
  561.  INFO_HELP_SYSTEM                 = 0x003E; // Help System Help...X
  562. const UI_HELP_CONTEXT INFO_ERROR_SYSTEM                = 0x003F; // Error System Help...X
  563. const UI_HELP_CONTEXT INFO_FONT_SUPPORT                = 0x0040; // Font Support Help...X
  564. const UIOR_SYSTEMm
  565. INFO_FONT_SUPPORTn
  566. HELP_FONT_SUPPORT
  567. Error System Help...
  568. Zinc provides an error system to allow you to generate error messages for your users.  ERROR SYSTEM is derived from the UI_ERROR_SYSTEM class.  You may also derive your own error system from this class.
  569. Font Support Help...
  570. Zinc allows multiple font support in Windows and DOS Graphics modes.  The three fonts above are provided with Zinc, but you may define more fonts if needed.
  571. Font Support Help...
  572. Zinc allows multiple font support in Windows and DOS Graphics mode.  The three fonts above are provided with Zinc, but you may define more fonts if needed.
  573. Press <Alt+F4> to continue...
  574. _HELP_CONTEXT HELP_FONT_SUPPORT                = 0x0041; // Font Support Help...
  575. > to continue...
  576.